package com.pxl.dao;

import com.pxl.entity.*;

import java.util.*;

public interface CourseDao {

    /**
     *  查询学生的课程 id
     * @param id
     * @return
     */
     List<Integer> queryCourseIdByStuId(int id);

    /**
     * 根据课程号查询课程信息
     * @param id
     * @return
     */
     Course queryCourseInfoById(int id);

    /**
     * 通过老师 id 查询 老师姓名
     * @param id
     * @return
     */
     String selectTeaNameByTeaId(int id);

    /**
     * 根据老师的 id 和 学生的 id 得到唯一的一个成绩
     * @param course_choose
     * @return
     */
     int selectScore(Course_choose course_choose);

    /**
     *  查询所有课程
     * @return
     */
    List<Course> queryAllCourse();

    // 通过课程 id 查询到所有的学院 id
    List<Integer> selectInsIdByClassId(int classId);

    String selectInsNameByInsId(int insId);

    List<Course> queryAllById(int teaId);

    List<Integer> queryInsByClassId(int classId);

    String selectNameByInsId(int insId);

    Course selectClassByClassId(int classId);

    void downChooseNum(int id);

    void deleteCourseChoose(Course_choose course_choose);

    void addCourseChooseNum(int id);

    void addCourseChoose(Course_choose course_choose);

    List<Institution> queryAllIns();

    void insertCourse(Course course);

    void insertInsLimit(Course_limit course_limit);

    int selectMaxCourseId();

    void updateCourse(Course course);

    void deleteInsLimit(int classId);

    void deleteCourseById(int classId);

    void deleteStuByClassId(int classId);

    void deleteLimitByClassId(int classId);

    List<Course_choose> queryStuIdByCourseId(int classId);

    Student queryStuById(int id);

    void updateScore(Course_choose course_choose);

    void deleteStuCourse(Course_choose course_choose);
}
